package com.start.handler;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class MyInterceptor implements HandlerInterceptor{
	/**
	 * 预处理：在控制器方法之前执行
	 * return true 表示放行，只想能够下一个拦截器，如果没有，则执行控制器中的方法
	 * return false 表示不放行，但是可以用提供的参数进行各种操作，例如转发或重定向
	 */
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		
		return false;
	}

	/**
	 * 后处理方法： 表示在控制器方法执行完之后，并且在响应页面之前，执行拦截器的方法
	 * 
	 */
	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		
	}

	/**
	 * 在响应页面之后执行拦截器方法
	 */
	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		
	}

}
